package org.yoao.crm.page.framework;

import java.util.List;
import java.util.Map;

/**
 * @author yxwonline.com
 * @description 分页接口
 * @date 2010-7-31 下午04:20:59
 */
public interface IViewPageService {
	/**
	* @description 获取总页数
	* @return 总页数
	*/
	public int getPageCount();

	/**
	* @description 获取总记录数
	* @return 总记录数
	*/
	public int getTotalRows();
	
	/**
	* @description 获得页面大小
	* @return 页面大小
	*/
	public int getPageSize();


	/**
	* @description 设置页面大小
	* @param size
	*/
	public void setPageSize(int size, Map whereMap);
	
	
	/**
	* @description 获得当前页数据
	* @return 数据列表
	*/
	public List getPageData();
	
	public List getPageData(Map whereMap);
	
	/**
	* @description 获得当前页索引号
	* @return 当前页索引号
	*/
	public int getPageIndex();

	/**
	* @description 获得当前页记录总数
	* @return 当前页记录总数
	*/
	public int getPageRows();

	/**
	* @description 是否有下一页
	* @return
	*/
	public boolean getHashNextPage();


	/**
	* @description 是否有上一页
	* @return
	*/
	public boolean getHashPreviousPage();

	/**
	* @description 转到尾页
	*/
	public void gotoLastPage();
	
	/**
	* @description 转到首页
	*/
	public void gotoFirstPage();

	/**
	* @description 是否首页
	* @return
	*/
	public boolean isFirstPage();

	/**
	* @description 是否尾页
	* @return
	*/
	public boolean isLastPage();

	/**
	* @description 转到上一页
	*/
	public void gotoPreviousPage();

	/**
	* @description 转到下一页
	*/
	public void gotoNextPage();

	/**
	* @description 转到指定页面,pageIndex小于1时，转到第一页;pageIndex大于总页数时，转到最尾页
	* @param pageIndex 指定的页号
	*/
	public void gotoPage(int pageIndex);

	/**
	* @description 获取当前页第一条记录的记录号
	* @return int 当前页第一条记录的记录号
	*/
	public int getPageFirstRecord();

	/**
	* @description 获取当前页最后一条记录的记录号
	* @return int 当前页最后一条记录的记录号
	*/
	public int getPageLastRecord();
}